<?php

class Util_Function_Util {

    private static $TP_PESSOA;
    private static $STATUS_ATENDIMENTO;


    public static function formataData($data, $formatoSaida = 'dd/MM/Y') {
        $dt = new Zend_Date($data);
        return $dt->get($formatoSaida);
    }

    public static function formataMoeda($data, $formatoSaida = 'dd/MM/YYYY') {
        return number_format($data, 2, ",", ".");
    }

    public static function validaCPF($cpf) {
        // Verifiva se o número digitado contém todos os digitos
        $cpf = str_pad(preg_replace('[^0-9]', '', $cpf), 11, '0', STR_PAD_LEFT);

        // Verifica se nenhuma das sequências abaixo foi digitada, caso seja, retorna falso
        if (strlen($cpf) != 11 || $cpf == '00000000000' || $cpf == '11111111111' || $cpf == '22222222222' || $cpf == '33333333333' || $cpf == '44444444444' || $cpf == '55555555555' || $cpf == '66666666666' || $cpf == '77777777777' || $cpf == '88888888888' || $cpf == '99999999999') {
            return false;
        } else {   // Calcula os números para verificar se o CPF é verdadeiro
            for ($t = 9; $t < 11; $t++) {
                for ($d = 0, $c = 0; $c < $t; $c++) {
                    $d += $cpf{$c} * (($t + 1) - $c);
                }

                $d = ((10 * $d) % 11) % 10;

                if ($cpf{$c} != $d) {
                    return false;
                }
            }

            return true;
        }
    }
    
    public static function getTpPessoa(){
        if(is_null(self::$TP_PESSOA)){
            $retorno[1] = 'Cliente';
            $retorno[2] = 'Funcionário';
            self::$TP_PESSOA = $retorno;
        }
        
        return self::$TP_PESSOA;
    }
    
    public static function getStatus(){
        if(is_null(self::$STATUS_ATENDIMENTO)){
            $retorno['P'] = 'Presente';
            $retorno['N'] = 'Não Compareceu';
            $retorno['D'] = 'Desmarcou';
            self::$STATUS_ATENDIMENTO = $retorno;
        }
        
        return self::$STATUS_ATENDIMENTO;
    }

    public static function limpaCPF($cpf){
        $cpf = str_replace('.', '', $cpf);
        $cpf = str_replace('-', '', $cpf);
        return$cpf;
    }
}